package com.ql.service.user;

import com.ql.pojo.user.DataGridView;
import com.ql.pojo.user.WorkFlowVo;
import com.ql.pojo.yk.PageResult;
import com.ql.pojo.yk.Ypcg;

import java.io.InputStream;
import java.util.List;

public interface WorkFlowService {
    /**
     * 查询流程部署信息
     * @return
     */
    public DataGridView queryProcessDeploy(WorkFlowVo workFlowVo);

    //查询所有的流程定义
    DataGridView queryAllProcessDefinition(WorkFlowVo workFlowVo);

    //添加流程部署
    void addWorkFlow(InputStream inputStream, String deploymentName);

    //根据流程ID删除流程部署信息
    void deleteWorkFlow(String deploymentId);

    //根据流程部署ID查询流程图
    InputStream queryProcessDeploymentImage(String deploymentId);

    //启动流程
    void startProcess(Integer cgId);

    //查询当前用户的待办任务
    DataGridView queryCurrentUserTask(WorkFlowVo workFlowVo);

    //根据任务ID查询请假单信息
    public Ypcg queryYpcgByTaskId(String taskId);

    //根据任务ID查询连线信息
    public List<String> queryOutComeByTaskId(String taskId);

    //根据任务ID查询批注信息
    public DataGridView queryCommentByTaskId(String taskId);

    //完成任务
    public void completeTask(WorkFlowVo workFlowVo);
}

